The present invention relates in general to information processing within a computer system, and more particularly, to an information gathering facility, for example, for a network of computer systems for use in ascertaining updated state information on one or more computer system within the network. Still more particularly, the invention relates to a configuration of a dictionary file data structure employed in ascertaining state information on one or more computer systems of a network and to a technique for gathering such information using the dictionary file.
Computer networks provide a number of advantages over standalone systems. In a network, each computer is a node which communicates with other nodes over one or more links. Nodes may be provided which store and manage databases or other data files on mass storage devices, or which manage printers or links to public telecommunication networks, etc.
As networks become larger, and more computers, input/output devices and other machines are connected together, management of the network becomes more and more difficult. To alleviate data transfer limitations when connecting many nodes to a single network, networks are often divided into a smaller number of nodes, essentially creating separate networks which are then interconnected by means of bridges or gateways to allow a node on one sub-network to communicate with a node on another sub-network. This alleviates the data transfer limitations of networks, but does not alleviate management problems.
One problem associated with management of a computer system is managing software on the different computing nodes. Software management can include a number of functions, such as verifying that a computing node has a particular type of file, a particular version of the file, and possibly, ascertaining contents of the file. Keeping track of software distribution and use can be important for licensing purposes, as well as for basic functioning of the network. In the past, when computer systems were a single large, multiuser system, a system manager performed these functions. With the advent of single user systems, such as personal computers and workstations, the users have essentially become the system manager, requiring them to perform these system management tasks individually.
A need thus exists in the art for an enhanced, automated information gathering facility which allows state data, such as file existence and file configuration information, for one or more nodes to be maintained up-to-date in a control information repository of the computer system network.
Briefly summarized, the invention comprises in one aspect a method for gathering information on a state of a computer system. The method includes: providing a dictionary file having at least one inquiry for ascertaining state information on the computer system, the at least one inquiry comprising at least one instruction to call a preexisting executable on the computer system; executing the pre-existing executable in response to processing of the at least one instruction, and obtaining data therefrom; and using the data obtained from the pre-existing executable in accordance with the at least one instruction to derive a result to be included as part of the state information on the computer system.
Systems and program storage devices corresponding to the above-summarized method, as well as data structures encompassing the dictionary files employed thereby, are also described and claimed herein.
To restate, presented herein is an information gathering facility which can reside at a central location within a network of computer systems and be read from the central location by the individual computer systems when state information is to be derived. Thus, there is the ability to change one or more inquiries at the central location without making changes at all computer systems of the network. In accordance with the principles of the present invention, there is also an ability to design and implement inquiries of complicated machine configurations without programming, i.e., creating an executable of the file. Further, the format of the inquiry results, that is the state information returned, can be defined in the dictionary file itself, i.e., each instruction or line of inquiry in the dictionary file can possess a condition which if satisfied outputs a result and the cumulative results comprise the state information. This feature can be employed by other processes to query a machine and have the response formatted in a way that the process needs.
By providing multiple inquiries within a group, searching is possible for one or more of several versions of an application installed on a workstation in the network. When an inquiry finds the desired version on a workstation, the remaining inquiries are omitted. As new versions of an application become available, a new inquiry is simply added to the group that is looking for that application. This leaves intact all the inquiries that looked for the xe2x80x98backlevelxe2x80x99 versions. Code reuse is thus encouraged since other applications can use this tool to gather workstation information instead of including separate logic to do their inquiry.
As a further feature, existing utilities for executables on a computer system can be used by the dictionary file data structure to gather information about the system. This is accomplished through the use of at least one instruction which calls an existing executable with processing of the instruction. This allows the use of proven executables to collect information rather than recreating functions that may already be available for other reasons. This also provides a way of collecting the information that a utility gathers and sending it to a central processing server in a predefined condensed format. As noted above, the format is defined in the instruction itself contained within the dictionary file.